package com.egghiro.framework.j2se.game.core.model.actor;

public interface IActor2D extends IActor,IPoint2D{
    
    /**
     * @return 左上角X坐标
     */
    public abstract int getX();
    /**
     * @return 左上角Y坐标
     */
    public abstract int getY();

    public abstract void setPosition(int x, int y);

    public abstract void move(int dx, int dy);

    public abstract int getWidth();

    public abstract int getHeight();

    /**
     * 碰撞点的X坐标。
     * 通常这个值与get2DX()相同，但是视情况也可以返回与get2DX()不同的值。
     * 使用时要根据想获取的是用于显示的中心点，还是用于碰撞的碰撞点来区分使用。
     * @return 碰撞点的X坐标
     */
    public abstract int getCollidePointX();
    /**
     * 碰撞点的Y坐标。
     * 通常这个值与get2DY()相同，但是视情况也可以返回与get2DY()不同的值。
     * 使用时要根据想获取的是用于显示的中心点，还是用于碰撞的碰撞点来区分使用。
     * @return 碰撞点的Y坐标
     */
    public abstract int getCollidePointY();

}
